Micron Document
🎖️GitЯра🎖️

Node / meshcore / MeshCore / files / src / helpers / nrf52 / SerialBLEInterface.h

Displaying Raw • Download

src/helpers/nrf52/SerialBLEInterface.h 93b2db63de9009af047a2d0e1bcd97b4b0ba7106 (93b2db63) Text, 2.43 KB

Tff7b72#Tff7b72pragma once

Tff7b72#Tff7b72include T8b949e"../BaseSerialInterface.h"
Tff7b72#Tff7b72include T8b949e<bluefruit.h>

Tff7b72#Tff7b72ifndef BLE_TX_POWER
Tff7b72#Tff7b72define BLE_TX_POWER 4
Tff7b72#Tff7b72endif

Te6edf3class Te6edf3SerialBLEInterface Tff7b72: Te6edf3public Te6edf3BaseSerialInterface Tb4b4b4{
Te6edf3BLEDfu Te6edf3bledfuTb4b4b4;
Te6edf3BLEUart Te6edf3bleuartTb4b4b4;
Tffa657bool Te6edf3_isEnabledTb4b4b4;
Tffa657bool Te6edf3_isDeviceConnectedTb4b4b4;
Tffa657uint16_t Te6edf3_conn_handleTb4b4b4;
Tffa657unsigned Tffa657long Te6edf3_last_health_checkTb4b4b4;
Tffa657unsigned Tffa657long Te6edf3_last_retry_attemptTb4b4b4;

Tff7b72struct T56d364Frame Tb4b4b4{
Tffa657uint8_t Te6edf3lenTb4b4b4;
Tffa657uint8_t Te6edf3bufTb4b4b4[Te6edf3MAX_FRAME_SIZETb4b4b4]Tb4b4b4;
Tb4b4b4}Tb4b4b4;

Tff7b72#Tff7b72define FRAME_QUEUE_SIZE 12
Tffa657uint8_t Te6edf3send_queue_lenTb4b4b4;
Te6edf3Frame Te6edf3send_queueTb4b4b4[Te6edf3FRAME_QUEUE_SIZETb4b4b4]Tb4b4b4;
Tffa657uint8_t Te6edf3recv_queue_lenTb4b4b4;
Te6edf3Frame Te6edf3recv_queueTb4b4b4[Te6edf3FRAME_QUEUE_SIZETb4b4b4]Tb4b4b4;

Tffa657void Td2a8ffclearBuffersTb4b4b4(Tb4b4b4)Tb4b4b4;
Tffa657void Td2a8ffshiftSendQueueLeftTb4b4b4(Tb4b4b4)Tb4b4b4;
Tffa657void Td2a8ffshiftRecvQueueLeftTb4b4b4(Tb4b4b4)Tb4b4b4;
Tffa657bool Td2a8ffisValidConnectionTb4b4b4(Tffa657uint16_t Te6edf3handleTb4b4b4, Tffa657bool Te6edf3requireWaitingForSecurity Tff7b72= Tffa657falseTb4b4b4) Tff7b72constTb4b4b4;
Tffa657bool Td2a8ffisAdvertisingTb4b4b4(Tb4b4b4) Tff7b72constTb4b4b4;
Tff7b72static Tffa657void Td2a8ffonConnectTb4b4b4(Tffa657uint16_t Te6edf3connection_handleTb4b4b4)Tb4b4b4;
Tff7b72static Tffa657void Td2a8ffonDisconnectTb4b4b4(Tffa657uint16_t Te6edf3connection_handleTb4b4b4, Tffa657uint8_t Te6edf3reasonTb4b4b4)Tb4b4b4;
Tff7b72static Tffa657void Td2a8ffonSecuredTb4b4b4(Tffa657uint16_t Te6edf3connection_handleTb4b4b4)Tb4b4b4;
Tff7b72static Tffa657bool Td2a8ffonPairingPasskeyTb4b4b4(Tffa657uint16_t Te6edf3connection_handleTb4b4b4, Tffa657uint8_t Tff7b72const Te6edf3passkeyTb4b4b4[T79c0ff6Tb4b4b4]Tb4b4b4, Tffa657bool Te6edf3match_requestTb4b4b4)Tb4b4b4;
Tff7b72static Tffa657void Td2a8ffonPairingCompleteTb4b4b4(Tffa657uint16_t Te6edf3connection_handleTb4b4b4, Tffa657uint8_t Te6edf3auth_statusTb4b4b4)Tb4b4b4;
Tff7b72static Tffa657void Td2a8ffonBLEEventTb4b4b4(Te6edf3ble_evt_tTff7b72* Te6edf3evtTb4b4b4)Tb4b4b4;
Tff7b72static Tffa657void Td2a8ffonBleUartRXTb4b4b4(Tffa657uint16_t Te6edf3conn_handleTb4b4b4)Tb4b4b4;

Te6edf3publicTff7b72:
Te6edf3SerialBLEInterfaceTb4b4b4(Tb4b4b4) Tb4b4b4{
Te6edf3_isEnabled Tff7b72= Tffa657falseTb4b4b4;
Te6edf3_isDeviceConnected Tff7b72= Tffa657falseTb4b4b4;
Te6edf3_conn_handle Tff7b72= Te6edf3BLE_CONN_HANDLE_INVALIDTb4b4b4;
Te6edf3_last_health_check Tff7b72= T79c0ff0Tb4b4b4;
Te6edf3_last_retry_attempt Tff7b72= T79c0ff0Tb4b4b4;
Te6edf3send_queue_len Tff7b72= T79c0ff0Tb4b4b4;
Te6edf3recv_queue_len Tff7b72= T79c0ff0Tb4b4b4;
Tb4b4b4}

T8b949e/**
* init the BLE interface.
* @param prefix a prefix for the device name
* @param name IN/OUT - a name for the device (combined with prefix). If "@@MAC", is modified and returned
* @param pin_code the BLE security pin
*/
Tffa657void Te6edf3beginTb4b4b4(Tff7b72const Tffa657charTff7b72* Te6edf3prefixTb4b4b4, Tffa657charTff7b72* Te6edf3nameTb4b4b4, Tffa657uint32_t Te6edf3pin_codeTb4b4b4)Tb4b4b4;

Tffa657void Td2a8ffdisconnectTb4b4b4(Tb4b4b4)Tb4b4b4;
Tffa657void Td2a8ffenableTb4b4b4(Tb4b4b4) Te6edf3overrideTb4b4b4;
Tffa657void Td2a8ffdisableTb4b4b4(Tb4b4b4) Te6edf3overrideTb4b4b4;
Tffa657bool Td2a8ffisEnabledTb4b4b4(Tb4b4b4) Tff7b72const Te6edf3override Tb4b4b4{ Tff7b72return Te6edf3_isEnabledTb4b4b4; Tb4b4b4}
Tffa657bool Td2a8ffisConnectedTb4b4b4(Tb4b4b4) Tff7b72const Te6edf3overrideTb4b4b4;
Tffa657bool Td2a8ffisWriteBusyTb4b4b4(Tb4b4b4) Tff7b72const Te6edf3overrideTb4b4b4;
Tffa657size_t Td2a8ffwriteFrameTb4b4b4(Tff7b72const Tffa657uint8_t Te6edf3srcTb4b4b4[Tb4b4b4]Tb4b4b4, Tffa657size_t Te6edf3lenTb4b4b4) Te6edf3overrideTb4b4b4;
Tffa657size_t Td2a8ffcheckRecvFrameTb4b4b4(Tffa657uint8_t Te6edf3destTb4b4b4[Tb4b4b4]Tb4b4b4) Te6edf3overrideTb4b4b4;
Tb4b4b4}Tb4b4b4;

Tff7b72#Tff7b72if BLE_DEBUG_LOGGING && ARDUINO
Tff7b72#Tff7b72include T8b949e<Arduino.h>
Tff7b72#Tff7b72define BLE_DEBUG_PRINT(F, ...) Serial.printf("BLE: " F, ##__VA_ARGS__)
Tff7b72#Tff7b72define BLE_DEBUG_PRINTLN(F, ...) Serial.printf("BLE: " F "\n", ##__VA_ARGS__)
Tff7b72#Tff7b72else
Tff7b72#Tff7b72define BLE_DEBUG_PRINT(...) {}
Tff7b72#Tff7b72define BLE_DEBUG_PRINTLN(...) {}
Tff7b72#Tff7b72endif

Served by rngit 1.5.4 - Generated in 0.03s